// 核心算法 (目标值 - 现在的位置) / 10 
// 步长向大取整 Math.ceil()
// <script>
//     let step = (目标值 - 现在的位置) / 10 
//     step > 0 ? Math.ceil(step) : Math.floor(step)
//     // 负数也向大取整
// </script>
// 回调函数 把一个函数作为参数传给另一个函数
// 给对象添加方法

function animate(obj,target,callback) {
    
    //执行前先清空所以的定时器
    clearInterval(obj.timer)

      obj.timer = setInterval(function(){
        //每步走的距离减少
        let step = (target - obj.offsetLeft) / 10
        
      step = step > 0? Math.ceil(step) : Math.floor(step)

        if (obj.offsetLeft == target){

            clearInterval(obj.timer);
            // 定时器结束 执行回调
            
            if(callback){
              callback()
            }
        }
        obj.style.left = obj.offsetLeft + step +'px'; 
     },30)
     
}
